//导入封装的网络请求
import {request} from "../../request/index"
// 导入公共数据文件
const urlList=require("../../commons/common")
// pages/category/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    Cates:[],//接口的返回值
    leftMenuList:[],//左侧数据
    rightContent:[],//右侧数据
    currentIndex:0,//被点击的菜单索引
    scorpTop:0//右侧内容的滚动条距离顶部的距离
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    /* 
    1.先判断一下本地存储中有没有旧数据
    2.没有旧数据，直接发送请求
    3.有旧数据 且 旧数据没有过期 使用本地存储中的旧数据
    */
   const Cates=wx.getStorageSync('cates')
   //判断
   if(!Cates){
     //不存在 发送请求
     this.getCates();
   }else{
     //有数据 定义一个过期时间
      if(Date.now()-Cates.time>1000*60*60*24){
        //重新发送请求
        this.getCates();
      }else{
        //使用旧数据
        this.Cates=Cates.data;
        //构造左侧的大菜单数据
        let leftMenuList=this.Cates.map(v=>v.cat_name);
        //右侧的商品数据
        let rightContent=this.Cates[0].children
        this.setData({
         leftMenuList,
          rightContent
        })
      }
   }
  },
  //获取分类数据
  getCates(){
    request({
      url:urlList.categotyDate
    }).then(res=>{
      console.log(res.data)
      this.Cates=res;
      //把接口的数据存入到本地存储中
      wx.setStorageSync('cates', {time:Date.now(),data:this.Cates})

      //构造左侧的大菜单数据
      let leftMenuList=this.Cates.map(v=>v.cat_name);
      //右侧的商品数据
      let rightContent=this.Cates[0].children
      this.setData({
        leftMenuList,
        rightContent
      })
    })
  },
  // 左侧菜单的点击事件
  handleItenTap(e){
    // 1.获取被点击的标题身上的索引
    // 2.给data中的currentIndex赋值
    // 3.根据不同的索引来渲染右侧的商品内容
    //获取索引
    const {index} =e.currentTarget.dataset;
    let rightContent=this.Cates[index].children
    this.setData({
      currentIndex:index,
      rightContent,
    //重新设置 右侧内容的scroll-view标签的距离顶部的距离
      scorpTop:0
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady:function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})